﻿using System;
namespace Producers.Kis.Xtee.Riik.Ee.Producer.Kis {
    
    
    public partial class ConsolidatedData : global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IConsolidatedData {
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.NonEmptyString @__fileName;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IOrganisation @__organisation;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.ISenderData @__senderData;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Application @__application;
        
        public ConsolidatedData() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public ConsolidatedData(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.NonEmptyString @fileName, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IOrganisation @organisation, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.ISenderData @senderData, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Application @application) {
            this.@__fileName = @fileName;
            this.@__organisation = @organisation;
            this.@__senderData = @senderData;
            this.@__application = @application;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected ConsolidatedData(IConsolidatedData @consolidatedData) {
            this.@__fileName = @consolidatedData.FileName;
            this.@__organisation = @consolidatedData.Organisation;
            this.@__senderData = @consolidatedData.SenderData;
            this.@__application = @consolidatedData.Application;
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.NonEmptyString FileName {
            get {
                return this.@__fileName;
            }
            set {
                this.@__fileName = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IOrganisation Organisation {
            get {
                return this.@__organisation;
            }
            set {
                this.@__organisation = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.ISenderData SenderData {
            get {
                return this.@__senderData;
            }
            set {
                this.@__senderData = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.Application Application {
            get {
                return this.@__application;
            }
            set {
                this.@__application = value;
            }
        }
    }
}
